#pragma once

class CPhoneTone
{

public:

	CPhoneTone(void);
	~CPhoneTone(void);

private:

	BOOL m_bPlayingDialTone;
	BOOL m_bPlayingRingTone;

	BOOL m_bActivateRingTone;
	BOOL m_bActivateDialTone;

public:

	void ActivateRingTone(BOOL bActivate);
	void ActivateDialTone(BOOL bActivate);

private:

	void StartRingTone();
	void StopRingTone();
	void StartDialTone();
	void StopDialTone();

public:

	void OnProvisionalResponse(int nLineNo, int nStatusCode, CString sReasonPhrase);
	void OnFailureResponse(int nLineNo, int nStatusCode, CString sReasonPhrase);
	
	void OnIncomingCallRingingStart(LPCTSTR sCallId);
	void OnIncomingCallRingingStop(LPCTSTR sCallId);
	
	void OnIncomingCallRejected();
	void OnIncomingCallAccepted();

	void OnFailToConnect();
	void OnLineConnected();
	void OnLineDisconnected();

};

